/**
 *
 * @Author 董熠涛
 * @Date 2025/6/16 20:22
 */
package example.springboot.mapper;

import example.springboot.entity.FavoriteWord;
import example.springboot.entity.Word;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface FavoriteWordMapper {
    
    /**
     * 添加收藏
     */
    int insert(FavoriteWord favoriteWord);
    
    /**
     * 根据用户ID和单词ID查询收藏
     */
    FavoriteWord findByUserIdAndWordId(@Param("userId") Integer userId, @Param("wordId") Integer wordId);
    
    /**
     * 删除收藏
     */
    int deleteById(Integer id);
    
    /**
     * 根据用户ID和单词ID删除收藏
     */
    int deleteByUserIdAndWordId(@Param("userId") Integer userId, @Param("wordId") Integer wordId);
    
    /**
     * 获取用户的收藏单词列表
     */
    List<Word> findFavoriteWordsByUserId(@Param("userId") Integer userId);
    
    /**
     * 统计用户收藏数量
     */
    int countByUserId(Integer userId);
}

